!DOCTYPE html >
<
html lang = "en" >
<
head >
<
meta charset = 'utf-8' >
<
meta name = "viewport"
content = "width=device-width, initial-scale=1"
id = "wixDesktopViewport" / >
<
meta http - equiv = "X-UA-Compatible"
content = "IE=edge" >
<
meta name = "generator"
content = "Wix.com Website Builder" / >
<
link rel = "icon"
sizes = "192x192"
href = "https://www.wix.com/favicon.ico"
type = "image/x-icon" / >
<
link rel = "shortcut icon"
href = "https://www.wix.com/favicon.ico"
type = "image/x-icon" / >
<
link rel = "apple-touch-icon"
href = "https://www.wix.com/favicon.ico"
type = "image/x-icon" / >
<
!--Safari Pinned Tab Icon-- >
<
!-- < link rel = "mask-icon"
href = "https://www.wix.com/favicon.ico" > -- >
<
!--Original trials-- >
<
!--Legacy Polyfills-- >
<
script nomodule = ""
src = "https://static.parastorage.com/unpkg/core-js-bundle@3.2.1/minified.js" > < /script> <
script nomodule = ""
src = "https://static.parastorage.com/unpkg/focus-within-polyfill@5.0.9/dist/focus-within-polyfill.js" > < /script>
<
script nomodule = ""
src = "https://polyfill-fastly.io/v3/polyfill.min.js?features=fetch" > < /script>
<
!--Performance API Polyfills-- >
<
script >
(function() {
var noop = function noop() {};
if ("performance" in window === false) {
window.performance = {};
}
window.performance.mark = performance.mark || noop;
window.performance.measure = performance.measure || noop;
if ("now" in window.performance === false) {
var nowOffset = Date.now();
if (performance.timing && performance.timing.navigationStart) {
nowOffset = performance.timing.navigationStart;
}
window.performance.now = function now() {
return Date.now() - nowOffset;
};
}
})(); <
/script>
<
!--Globals Definitions-- >
<
script >
(function() {
var now = Date.now()
window.initialTimestamps = {
initialTimestamp: now,
initialRequestTimestamp: Math.round(performance.timeOrigin ? performance.timeOrigin : now - performance.now())
}
window.thunderboltTag = "libs-releases-GA-local"
window.thunderboltVersion = "1.14722.0"
})(); <
/script>
<
!--sendFedopsLoadStarted.inline-- >
<
!--Essential Viewer Model-- >
<
script type = "application/json"
id = "wix-essential-viewer-model" > {
"fleetConfig": {
"fleetName": "wix-thunderbolt",
"type": "GA",
"code": 0
},
"mode": {
"qa": false,
"enableTestApi": false,
"debug": false,
"ssrIndicator": false,
"ssrOnly": false,
"siteAssetsFallback": "enable"
},
"componentsLibrariesTopology": [{
"artifactId": "editor-elements",
"namespace": "wixui",
"url": "https:\/\/static.parastorage.com\/services\/editor-elements\/1.12908.0"
}, {
"artifactId": "editor-elements",
"namespace": "dsgnsys",
"url": "https:\/\/static.parastorage.com\/services\/editor-elements\/1.12908.0"
}],
"siteFeaturesConfigs": {
"sessionManager": {
"isRunningInDifferentSiteContext": false
}
},
"language": {
"userLanguage": "en"
},
"siteAssets": {
"clientTopology": {
"mediaRootUrl": "https:\/\/static.wixstatic.com",
"staticMediaUrl": "https:\/\/static.wixstatic.com\/media",
"moduleRepoUrl": "https:\/\/static.parastorage.com\/unpkg",
"fileRepoUrl": "https:\/\/static.parastorage.com\/services",
"siteAssetsUrl": "https:\/\/siteassets.parastorage.com",
"pageJsonServerUrls": ["https:\/\/pages.parastorage.com", "https:\/\/staticorigin.wixstatic.com", "https:\/\/fallback.wix.com\/wix-html-editor-pages-webapp\/page"],
"pathOfTBModulesInFileRepoForFallback": "wix-thunderbolt\/dist\/"
}
},
"siteFeatures": ["assetsLoader", "businessLogger", "captcha", "clickHandlerRegistrar", "commonConfig", "componentsLoader", "componentsRegistry", "consentPolicy", "cyclicTabbing", "dynamicPages", "environmentWixCodeSdk", "environment", "lightbox", "locationWixCodeSdk", "navigationManager", "navigationPhases", "ooi", "pages", "panorama", "renderer", "reporter", "routerFetch", "router", "scrollRestoration", "seoWixCodeSdk", "seo", "sessionManager", "siteMembersWixCodeSdk", "siteMembers", "siteScrollBlocker", "siteWixCodeSdk", "stores", "structureApi", "thunderboltInitializer", "tpaCommons", "translations", "usedPlatformApis", "warmupData", "windowMessageRegistrar", "windowWixCodeSdk", "wixCustomElementComponent", "wixEmbedsApi", "componentsReact", "platform"],
"site": {
"externalBaseUrl": "https:\/\/yeabbereket434.wixstudio.io\/my-site-4",
"isSEO": false
},
"media": {
"staticMediaUrl": "https:\/\/static.wixstatic.com\/media",
"mediaRootUrl": "https:\/\/static.wixstatic.com\/",
"staticVideoUrl": "https:\/\/video.wixstatic.com\/"
},
"requestUrl": "https:\/\/yeabbereket434.wixstudio.io\/my-site-4\/product-page\/pantony-6p-activity-tracker",
"rollout": {
"siteAssetsVersionsRollout": false,
"isDACRollout": 0,
"isTBRollout": false
},
"commonConfig": {
"brand": "studio",
"host": "VIEWER",
"bsi": "",
"consentPolicy": {},
"consentPolicyHeader": {},
"siteRevision": "9",
"renderingFlow": "NONE",
"language": "en",
"locale": "am-et"
},
"interactionSampleRatio": 0.01,
"dynamicModelUrl": "https:\/\/yeabbereket434.wixstudio.io\/my-site-4\/_api\/v2\/dynamicmodel",
"accessTokensUrl": "https:\/\/yeabbereket434.wixstudio.io\/my-site-4\/_api\/v1\/access-tokens",
"isExcludedFromSecurityExperiments": false,
"experiments": {
"specs.thunderbolt.hardenClientGlobals_Array_URL_JSON": true,
"specs.thunderbolt.hardenClientGlobals_Text": true,
"specs.thunderbolt.hardenWindowOpen": true,
"specs.thunderbolt.removeWixEmbedsAppToken": true
}
} < /script> <
script > window.viewerModel = JSON.parse(document.getElementById('wix-essential-viewer-model').textContent) < /script>
<
script data - url = "https://static.parastorage.com/services/wix-thunderbolt/dist/handleAccessTokens.inline.5a67b563.bundle.min.js" > ! function() {
"use strict";
const e = e => "string" == typeof e ? decodeURIComponent(e).toLowerCase().trimStart() : e,
t = "client-session-bind",
o = "client-binding",
s = "tbReady",
r = "security_overrideGlobals",
n = [t, o, "svSession", "smSession", "server-session-bind", "wixSession2"].map((e => e.toLowerCase())),
i = Object.getOwnPropertyDescriptor(Document.prototype, "cookie"),
{
isExcludedFromSecurityExperiments: c,
experiments: a,
siteFeaturesConfigs: d,
accessTokensUrl: l
} = window.viewerModel,
m = l,
u = document.cookie.split(";").map((e => e.trim())).filter((e => e.startsWith(t)))[0]?.split("=")[1],
p = {};
if (u && (p[o] = u, (() => {
const e = `${t}=; domain=${location.hostname}; max-age=0; path=/; expires=Thu, 01 Jan 1970 00:00:01 GMT`;
i.set.call(document, e)
})()), a["specs.thunderbolt.hardenFetchAndXHR"] && !c) {
let w = fetch;
function f(e) {
const {
logger: t
} = e.detail;
try {
window.tb.init({
fetch: w,
fetchHeaders: p
})
} catch (e) {
const o = new Error("TB003");
t.captureError(o, {
tags: {
feature: "thunderbolt-security"
}
}), t.meter(`${r}_${o.message}`, {
paramsOverrides: {
evid: "26",
errorType: r,
eventString: o.message
}
}), window?.viewerModel?.mode.debug && console.error(e)
} finally {
removeEventListener(s, f), w = fetch
}
}
addEventListener(s, f)
} else window.fetchDynamicModel = () => d.sessionManager.isRunningInDifferentSiteContext ? Promise.resolve({}) : fetch(m, {
credentials: "same-origin",
headers: p
}).then((function(e) {
if (!e.ok) throw new Error(`[${e.status}]${e.statusText}`);
return e.json()
})), window.dynamicModelPromise = window.fetchDynamicModel();
a["specs.thunderbolt.hardenCookieAccess"] && Object.defineProperty(document, "cookie", {
get() {
return i.get.call(document).split(";").filter((t => {
const o = e(t.split("=")[0]);
return !n.map((e => e.toLowerCase())).includes(o)
})).join(";").trimStart()
},
set(t) {
const o = e(t.split(";")[0]);
n.every((e => !o.startsWith(e.toLowerCase()))) && i.set.call(document, t)
},
enumerable: !0,
configurable: !1
})
}();
//# sourceMappingURL=https://static.parastorage.com/services/wix-thunderbolt/dist/handleAccessTokens.inline.5a67b563.bundle.min.js.map
<
script >
window.commonConfig = viewerModel.commonConfig
<
/script>
<
!--initCustomElements-- >
<
meta name = "wix-dynamic-custom-elements"
content = "" >
<
!--Initial CSS-- >
<
style data - url = "https://static.parastorage.com/services/wix-thunderbolt/dist/main.f5c3bce7.min.css" > body.device - mobile - optimized {
overflow - x: hidden;
overflow - y: scroll
}
body.device - mobile - optimized: not(.responsive) #SITE_CONTAINER {
margin - left: auto;
margin - right: auto;
overflow - x: visible;
position: relative;
width: 320 px
}
body.device - mobile - optimized: not(.responsive): not(.blockSiteScrolling) #SITE_CONTAINER {
margin - top: 0
}
body.device - mobile - optimized > * {
max - width: 100 % !important
}
body.device - mobile - optimized #site - root {
overflow - x: hidden;
overflow - y: hidden
}
@supports(overflow: clip) {
body.device - mobile - optimized #site - root {
overflow - x: clip;
overflow - y: clip
}
}
body.device - mobile - non - optimized: not(.removeWrappers) #SITE_CONTAINER #site - root {
overflow - x: hidden;
overflow - y: auto
}
body.device - mobile - non - optimized.removeWrappers #site - root {
overflow - x: clip
}
body.device - mobile - non - optimized.fullScreenMode {
background - color: #5f6360}body.device-mobile-non-optimized.fullScreenMode # MOBILE_ACTIONS_MENU, body.device - mobile - non - optimized.fullScreenMode #SITE_BACKGROUND, body.device - mobile - non - optimized.fullScreenMode #site - root, body.fullScreenMode #WIX_ADS {
visibility: hidden
}
body.fullScreenMode {
overflow - x: hidden!important;
overflow - y: hidden!important
}
body.fullScreenMode.device - mobile - optimized #TINY_MENU {
opacity: 0;pointer - events: none
}
body.fullScreenMode - scrollable.device - mobile - optimized {
overflow - x: hidden!important;
overflow - y: auto!important
}
body.fullScreenMode - scrollable.device - mobile - optimized #masterPage, body.fullScreenMode - scrollable.device - mobile - optimized #site - root {
overflow - x: hidden!important;
overflow - y: hidden!important
}
body.fullScreenMode - scrollable.device - mobile - optimized #SITE_BACKGROUND, body.fullScreenMode - scrollable.device - mobile - optimized #masterPage {
height: auto!important
}
body.fullScreenMode - scrollable.device - mobile - optimized #masterPage.mesh - layout {
height: 0!important
}
body.blockSiteScrolling {
position: fixed;width: 100 %
}
body.blockSiteScrolling #SITE_CONTAINER {
margin - top: calc(var (--blocked - site - scroll - margin - top) * -1)
}
body.blockSiteScrolling: not(.responsive) #WIX_ADS {
margin - top: var (--blocked - site - scroll - margin - top)
}
body.blockSiteScrollingWithOverflow {
overflow - y: hidden
}
@keyframes slide - horizontal - new {
0 % {
transform: translateX(100 % )
}
}
@keyframes slide - horizontal - old {
80 % {
opacity: 1
}
to {
opacity: 0;transform: translateX(-100 % )
}
}
@keyframes slide - vertical - new {
0 % {
transform: translateY(-100 % )
}
}
@keyframes slide - vertical - old {
80 % {
opacity: 1
}
to {
opacity: 0;transform: translateY(100 % )
}
}
@keyframes out - in - new {
0 % {
opacity: 0
}
}
@keyframes out - in - old {
to {
opacity: 0
}
}
html[data - page - transition = SlideHorizontal]::view - transition - old(page - group) {
animation: slide - horizontal - old .6 s cubic - bezier(.83, 0, .17, 1) forwards;mix - blend - mode: normal
}
html[data - page - transition = SlideHorizontal]::view - transition - new(page - group) {
animation: slide - horizontal - new .6 s cubic - bezier(.83, 0, .17, 1) backwards;mix - blend - mode: normal
}
html[data - page - transition = SlideVertical]::view - transition - old(page - group) {
animation: slide - vertical - old .6 s cubic - bezier(.83, 0, .17, 1) forwards;mix - blend - mode: normal
}
html[data - page - transition = SlideVertical]::view - transition - new(page - group) {
animation: slide - vertical - new .6 s cubic - bezier(.83, 0, .17, 1) backwards;mix - blend - mode: normal
}
html[data - page - transition = OutIn]::view - transition - old(page - group) {
animation: out - in - old .35 s cubic - bezier(.64, 0, .78, 0) forwards
}
html[data - page - transition = OutIn]::view - transition - new(page - group) {
animation: out - in - new .35 s cubic - bezier(.22, 1, .36, 1) .35 s backwards
}
@media(prefers - reduced - motion: reduce) {
::view - transition - group( * ), ::view - transition - new( * ), ::view - transition - old( * ) {
animation: none!important
}
}
body, html {
background: transparent;border: 0;margin: 0;outline: 0;padding: 0;vertical - align: baseline
}
body {
--scrollbar - width: 0 px;
font - family: Arial, Helvetica, sans - serif;
font - size: 10 px
}
body, html {
height: 100 %
}
body {
overflow - x: auto;
overflow - y: scroll
}
body: not(.responsive) #site - root {
min - width: var (--site - width);
width: 100 %
}
body: not([data - js - loaded])[data - hide - prejs] {
visibility: hidden
}
#SITE_CONTAINER {
position: relative
}: root {
--one - unit: 1 vw;
--section - max - width: 9999 px
}
@supports(-webkit - appearance: none) and(stroke - color: transparent) {
: root {
--safari - sticky - fix: opacity
}
}
@supports(container - type: inline - size) {
: root {
--one - unit: 1 cqw
}
} [id ^= oldHoverBox - ] {
mix - blend - mode: plus - lighter;
transition: opacity .5 s ease, visibility .5 s ease
} [data - mesh - id$ = inlineContent - gridContainer]: has( > [id ^= oldHoverBox - ]) {
isolation: isolate
} < /style> <
style data - url = "https://static.parastorage.com/services/wix-thunderbolt/dist/main.renderer.30f71ad7.min.css" > a, abbr, acronym, address, applet, b, big, blockquote, button, caption, center, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, font, footer, form, h1, h2, h3, h4, h5, h6, header, i, iframe, img, ins, kbd, label, legend, li, nav, object, ol, p, pre, q, s, samp, section, small, span, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, title, tr, tt, u, ul,
var {
background: transparent;border: 0;margin: 0;outline: 0;padding: 0;vertical - align: baseline
}
input, select, textarea {
box - sizing: border - box;
font - family: Helvetica, Arial, sans - serif
}
ol, ul {
list - style: none
}
blockquote, q {
quotes: none
}
ins {
text - decoration: none
}
del {
text - decoration: line - through
}
table {
border - collapse: collapse;
border - spacing: 0
}
a {
cursor: pointer;text - decoration: none
}.testStyles {
overflow - y: hidden
}.reset - button {
-webkit - appearance: none;
background: none;
border: 0;
color: inherit;
font: inherit;
line - height: normal;
outline: 0;
overflow: visible;
padding: 0; - webkit - user - select: none; - moz - user - select: none; - ms - user - select: none
}: focus {
outline: none
}
#site - root {
margin: 0 auto;min - height: 100 % ;position: relative;top: var (--wix - ads - height)
}
#site - root img: not([src]) {
visibility: hidden
}
#site - root svg img: not([src]) {
visibility: visible
}.auto - generated - link {
color: inherit
}
#SCROLL_TO_BOTTOM, #SCROLL_TO_TOP {
height: 0
}.has - click - trigger {
cursor: pointer
}.fullScreenOverlay {
bottom: 0;display: flex;justify - content: center;left: 0;overflow - y: hidden;position: fixed;right: 0;top: -60 px;z - index: 1005
}.fullScreenOverlay > .fullScreenOverlayContent {
bottom: 0;left: 0;margin: 0 auto;overflow: hidden;position: absolute;right: 0;top: 60 px;transform: translateZ(0)
} [data - mesh - id$ = centeredContent], [data - mesh - id$ = form], [data - mesh - id$ = inlineContent] {
pointer - events: none;
position: relative
} [data - mesh - id$ = -gridWrapper], [data - mesh - id$ = -rotated - wrapper] {
pointer - events: none
} [data - mesh - id$ = -gridContainer] > * , [data - mesh - id$ = -rotated - wrapper] > * , [data - mesh - id$ = inlineContent] >: not([data - mesh - id$ = -gridContainer]) {
pointer - events: auto
}.device - mobile - optimized #masterPage.mesh - layout #SOSP_CONTAINER_CUSTOM_ID {
grid - area: 2 / 1 / 3 / 2; - ms - grid - row: 2;
position: relative
}
#masterPage.mesh - layout {
-ms - grid - rows: max - content max - content min - content max - content; - ms - grid - columns: 100 % ;
align - items: start;
display: -ms - grid;
display: grid;
grid - template - columns: 100 % ;
grid - template - rows: max - content max - content min - content max - content;
justify - content: stretch
}
#masterPage.mesh - layout #PAGES_CONTAINER, #masterPage.mesh - layout #SITE_FOOTER - placeholder, #masterPage.mesh - layout #SITE_FOOTER_WRAPPER, #masterPage.mesh - layout #SITE_HEADER - placeholder, #masterPage.mesh - layout #SITE_HEADER_WRAPPER, #masterPage.mesh - layout #SOSP_CONTAINER_CUSTOM_ID[data - state~ = mobileView], #masterPage.mesh - layout #soapAfterPagesContainer, #masterPage.mesh - layout #soapBeforePagesContainer {
-ms - grid - row - align: start; - ms - grid - column - align: start; - ms - grid - column: 1
}
#masterPage.mesh - layout #SITE_HEADER - placeholder, #masterPage.mesh - layout #SITE_HEADER_WRAPPER {
grid - area: 1 / 1 / 2 / 2; - ms - grid - row: 1
}
#masterPage.mesh - layout #PAGES_CONTAINER, #masterPage.mesh - layout #soapAfterPagesContainer, #masterPage.mesh - layout #soapBeforePagesContainer {
grid - area: 3 / 1 / 4 / 2; - ms - grid - row: 3
}
#masterPage.mesh - layout #soapAfterPagesContainer, #masterPage.mesh - layout #soapBeforePagesContainer {
width: 100 %
}
#masterPage.mesh - layout #PAGES_CONTAINER {
align - self: stretch
}
#masterPage.mesh - layout main #PAGES_CONTAINER {
display: block
}
#masterPage.mesh - layout #SITE_FOOTER - placeholder, #masterPage.mesh - layout #SITE_FOOTER_WRAPPER {
grid - area: 4 / 1 / 5 / 2; - ms - grid - row: 4
}
#masterPage.mesh - layout #SITE_PAGES, #masterPage.mesh - layout[data - mesh - id = PAGES_CONTAINERcenteredContent], #masterPage.mesh - layout[data - mesh - id = PAGES_CONTAINERinlineContent] {
height: 100 %
}
#masterPage.mesh - layout.desktop > * {
width: 100 %
}
#masterPage.mesh - layout #PAGES_CONTAINER, #masterPage.mesh - layout #SITE_FOOTER_WRAPPER, #masterPage.mesh - layout #SITE_HEADER_WRAPPER, #masterPage.mesh - layout #SITE_PAGES, #masterPage.mesh - layout #masterPageinlineContent, #masterPage.mesh - layout: not(.one - doc) #SITE_FOOTER, #masterPage.mesh - layout: not(.one - doc) #SITE_HEADER {
position: relative
}
#masterPage.mesh - layout.remove - wrappers #SITE_HEADER {
grid - area: 1 / 1 / 2 / 2
}
#masterPage.mesh - layout.remove - wrappers #SITE_FOOTER {
grid - area: 4 / 1 / 5 / 2
} [data - z - counter] {
z - index: 0
} [data - z - counter = "0"] {
z - index: auto
}.wixSiteProperties {
-webkit - font - smoothing: antialiased; - moz - osx - font - smoothing: grayscale
}: root {
--wst - button - color - fill - primary: rgb(var (--color_48));
--wst - button - color - border - primary: rgb(var (--color_49));
--wst - button - color - text - primary: rgb(var (--color_50));
--wst - button - color - fill - primary - hover: rgb(var (--color_51));
--wst - button - color - border - primary - hover: rgb(var (--color_52));
--wst - button - color - text - primary - hover: rgb(var (--color_53));
--wst - button - color - fill - primary - disabled: rgb(var (--color_54));
--wst - button - color - border - primary - disabled: rgb(var (--color_55));
--wst - button - color - text - primary - disabled: rgb(var (--color_56));
--wst - button - color - fill - secondary: rgb(var (--color_57));
--wst - button - color - border - secondary: rgb(var (--color_58));
--wst - button - color - text - secondary: rgb(var (--color_59));
--wst - button - color - fill - secondary - hover: rgb(var (--color_60));
--wst - button - color - border - secondary - hover: rgb(var (--color_61));
--wst - button - color - text - secondary - hover: rgb(var (--color_62));
--wst - button - color - fill - secondary - disabled: rgb(var (--color_63));
--wst - button - color - border - secondary - disabled: rgb(var (--color_64));
--wst - button - color - text - secondary - disabled: rgb(var (--color_65));
--wst - color - fill - base - 1: rgb(var (--color_36));
--wst - color - fill - base - 2: rgb(var (--color_37));
--wst - color - fill - base - shade - 1: rgb(var (--color_38));
--wst - color - fill - base - shade - 2: rgb(var (--color_39));
--wst - color - fill - base - shade - 3: rgb(var (--color_40));
--wst - color - fill - accent - 1: rgb(var (--color_41));
--wst - color - fill - accent - 2: rgb(var (--color_42));
--wst - color - fill - accent - 3: rgb(var (--color_43));
--wst - color - fill - accent - 4: rgb(var (--color_44));
--wst - color - fill - background - primary: rgb(var (--color_11));
--wst - color - fill - background - secondary: rgb(var (--color_12));
--wst - color - text - primary: rgb(var (--color_15));
--wst - color - text - secondary: rgb(var (--color_14));
--wst - color - action: rgb(var (--color_18));
--wst - color - disabled: rgb(var (--color_39));
--wst - color - title: rgb(var (--color_45));
--wst - color - subtitle: rgb(var (--color_46));
--wst - color - line: rgb(var (--color_47));
--wst - font - style - h2: var (--font_2);
--wst - font - style - h3: var (--font_3);
--wst - font - style - h4: var (--font_4);
--wst - font - style - h5: var (--font_5);
--wst - font - style - h6: var (--font_6);
--wst - font - style - body - large: var (--font_7);
--wst - font - style - body - medium: var (--font_8);
--wst - font - style - body - small: var (--font_9);
--wst - font - style - body - x - small: var (--font_10)
} < /style>
<
meta name = "format-detection"
content = "telephone=no" >
<
meta name = "skype_toolbar"
content = "skype_toolbar_parser_compatible" >
<
!--Overriding Globals JS Head-- >
<
script data - url = "https://static.parastorage.com/services/wix-thunderbolt/dist/overrideGlobals.inline.15d3b9a0.bundle.min.js" > ! function() {
"use strict";
const e = e => "string" == typeof e ? decodeURIComponent(e).toLowerCase().trimStart() : e,
t = (e, t, r, o) => {
"object" == typeof t && "function" == typeof t.get && "function" == typeof t.set ? Object.defineProperty(r || globalThis, e, {
get: t.get,
set: t.set,
configurable: !1,
enumerable: o || !1
}) : Object.defineProperty(r || globalThis, e, {
value: t,
writable: !1,
configurable: !1,
enumerable: o || !1
})
},
r = () => {
const e = globalThis.open,
t = document.open,
r = (t, r, o) => {
const n = "string" != typeof t,
s = e.call(window, t, r, o);
return n || ((c = t).startsWith("//") && /(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/g.test(`${location.protocol}:${c}`) && (c = `${location.protocol}${c}`), !c.startsWith("http") || new URL(c).hostname === location.hostname) ? {} : s;
var c
};
defineStrictProperty("open", r, globalThis, !0), defineStrictProperty("open", ((e, o, n) => e ? r(e, o, n) : t.call(document, e, o, n)), document, !0)
},
o = document.createElement,
n = (t, r) => {
const n = o.call(document, t, r),
s = Element.prototype.setAttribute,
c = Element.prototype.setAttributeNS;
if ("iframe" === e(t)) {
globalThis.defineStrictProperty("srcdoc", {
get: () => {},
set: () => {
console.error("`srcdoc` is not allowed in iframe elements.")
}
}, n, !1);
const e = function(e, t) {
"srcdoc" !== e.toLowerCase() ? s.call(n, e, t) : console.error("`srcdoc` attribute is not allowed to be set.")
},
t = function(e, t, r) {
"srcdoc" !== t.toLowerCase() ? c.call(n, e, t, r) : console.error("`srcdoc` attribute is not allowed to be set.")
};
n.setAttribute = e, n.setAttributeNS = t
}
return n
},
s = "client-binding",
c = "security_overrideGlobals",
i = ["/_api/v1/access-tokens", "/_api/v2/dynamicmodel"],
a = e => (e instanceof Headers ? e.forEach(((t, r) => {
decodeURIComponent(r).toLowerCase() === s && e.delete(r)
})) : Object.keys(e).forEach((t => {
decodeURIComponent(t).toLowerCase() === s && delete e[t]
})), e),
l = t => {
let r = !0;
const o = (e => {
let t, r;
if (globalThis.Request && e instanceof Request) t = e.url;
else {
if ("function" != typeof e?.toString) throw new Error("Unsupported type for url");
t = e.toString()
}
try {
return new URL(t).pathname
} catch (e) {
return r = t.replace(/#.+/gi, "").split("?").shift(), r.startsWith("/") ? r : `/${r}`
}
})(t),
n = e(o);
return i.some((e => n.includes(e))) && (r = !1), r
},
d = (e = globalThis) => {
const t = fetch;
e.defineStrictProperty("fetch", (function() {
const r = (o = arguments, globalThis.Request && o[0] instanceof Request && o[0]?.headers ? a(o[0].headers) : o[1]?.headers && a(o[1].headers), o);
var o;
return l(arguments[0]) ? t.apply(e, Array.from(r)) : new Promise(((e, t) => {
const r = new Error("TB002");
window.fedops?.reportError(r, c), t(r)
}))
}))
};
performance.mark("overrideGlobals started");
const {
isExcludedFromSecurityExperiments: p,
experiments: u
} = window.viewerModel;
try {
((e = globalThis) => {
Object.defineProperty(e, "defineStrictProperty", {
value: t,
writable: !1,
enumerable: !1,
configurable: !1
})
})(), u["specs.thunderbolt.hardenWindowOpen"] && r(), u["specs.thunderbolt.hardenIFrames"] && !p && globalThis.defineStrictProperty("createElement", n, document, !0), u["specs.thunderbolt.hardenFetchAndXHR"] && !p && (d(), ((e = globalThis) => {
const t = XMLHttpRequest;
e.defineStrictProperty("XMLHttpRequest", (function() {
const e = new t,
r = e.open,
o = e.setRequestHeader;
return e.open = function() {
if (arguments.length < 2 || l(arguments[1])) return r.apply(e, Array.from(arguments));
{
const e = new Error("TB002");
throw window.fedops?.reportError(e, c), e
}
}, e.setRequestHeader = function(t, r) {
decodeURIComponent(t).toLowerCase() !== s && o.call(e, t, r)
}, e
}))
})()), (e => {
let t = [];
const {
experiments: r
} = window.viewerModel;
r["specs.thunderbolt.hardenClientGlobals_Text"] && (t = t.concat(["TextEncoder", "TextDecoder"])), r["specs.thunderbolt.hardenClientGlobals_EventTarget"] && !e && (t = t.concat(["XMLHttpRequestEventTarget", "EventTarget"])), r["specs.thunderbolt.hardenClientGlobals_Array_URL_JSON"] && (t = t.concat(["Array", "URL", "JSON"])), r["specs.thunderbolt.hardenClientGlobals_EventListener"] && !e && (t = t.concat(["addEventListener", "removeEventListener"])), r["specs.thunderbolt.hardenEncodingDecoding"] && (t = t.concat(["encodeURI", "encodeURIComponent", "decodeURI", "decodeURIComponent"])), r["specs.thunderbolt.hardenStringAndNumber"] && (t = t.concat(["String", "Number"])), r["specs.thunderbolt.hardenObject"] && t.push("Object"), t.forEach((t => {
const r = Object.freeze(globalThis[t]);
r.hasOwnProperty("prototype") && "Array" !== t && Object.freeze(r.prototype), ["addEventListener", "removeEventListener"].includes(t) && !e && globalThis.defineStrictProperty(t, document[t], document, !0), globalThis.defineStrictProperty(t, globalThis[t], globalThis, !0)
}))
})(p), u["specs.thunderbolt.hardenTimeout"] && !p && (defineStrictProperty("preventStringArgument", ((e, t, r) => {
const o = r || globalThis,
n = o[e];
defineStrictProperty(e, (function() {
const r = Array.from(arguments);
if ("string" != typeof r[t]) return n.apply(o, r);
console.warn(`Calling ${e} with a String Argument at index ${t} is not allowed`)
}), o)
})), preventStringArgument("setTimeout", 0), preventStringArgument("setInterval", 0))
} catch (e) {
window?.viewerModel?.mode.debug && console.error(e);
const t = new Error("TB006");
window.fedops?.reportError(t, "security_overrideGlobals"), window.Sentry ? window.Sentry.captureException(t) : globalThis.defineStrictProperty("sentryBuffer", [t], window, !1)
}
performance.mark("overrideGlobals ended")
}();
//# sourceMappingURL=https://static.parastorage.com/services/wix-thunderbolt/dist/overrideGlobals.inline.15d3b9a0.bundle.min.js.map
<
!--pageHtmlEmbeds.head start-- >
<
script type = "wix/htmlEmbeds"
id = "pageHtmlEmbeds.head start" > < /script>
<
script type = "wix/htmlEmbeds"
id = "pageHtmlEmbeds.head end" > < /script>